﻿namespace JxcLite.Entities;

/// <summary>
/// 对账单表头信息类。
/// </summary>
public class JxAccountHead : EntityBase
{
    /// <summary>
    /// 取得或设置单据类型（客户、供应商）。
    /// </summary>
    [DisplayName("单据类型")]
    [Required]
    [MaxLength(50)]
    public string Type { get; set; }

    /// <summary>
    /// 取得或设置对账单号。
    /// </summary>
    [DisplayName("对账单号")]
    [Required]
    [MaxLength(50)]
    public string AccountNo { get; set; }

    /// <summary>
    /// 取得或设置单证状态。
    /// </summary>
    [DisplayName("单证状态")]
    [Required]
    [MaxLength(50)]
    public string Status { get; set; }

    /// <summary>
    /// 取得或设置对账日期。
    /// </summary>
    [DisplayName("对账日期")]
    [Required]
    public DateTime? AccountDate { get; set; }

    /// <summary>
    /// 取得或设置商业伙伴。
    /// </summary>
    [DisplayName("商业伙伴")]
    [Required]
    [MaxLength(100)]
    public string Partner { get; set; }

    /// <summary>
    /// 取得或设置业务日期。
    /// </summary>
    [DisplayName("业务日期")]
    [Required]
    [MaxLength(100)]
    public string BizDates { get; set; }

    /// <summary>
    /// 取得或设置合同号。
    /// </summary>
    [DisplayName("合同号")]
    [MaxLength(50)]
    public string ContractNo { get; set; }

    /// <summary>
    /// 取得或设置发票号。
    /// </summary>
    [DisplayName("发票号")]
    [MaxLength(50)]
    public string InvoiceNo { get; set; }

    /// <summary>
    /// 取得或设置总金额。
    /// </summary>
    [DisplayName("总金额")]
    public decimal? TotalAmount { get; set; }

    /// <summary>
    /// 取得或设置备注。
    /// </summary>
    [DisplayName("备注")]
    public string Note { get; set; }

    /// <summary>
    /// 取得或设置附件。
    /// </summary>
    [DisplayName("附件")]
    [MaxLength(500)]
    public string Files { get; set; }
}